package br.com.fafica.librarycourier.usuario.model;



public class RepositorioUsuarioArray implements IRepositorioUsuario {

	private Usuario[] usuarios;
	private int indice;
	public static final int tamanho = 5;
	
	public RepositorioUsuarioArray(){
		usuarios = new Usuario [tamanho];
		indice = 0;
	}
	
	RepositorioUsuarioArray(Usuario[] usuarios, int indice){
		this.usuarios = usuarios;
		this.indice = indice;
	}

	public void inserir (Usuario Usuario){
		usuarios[indice] = Usuario;
		indice = indice + 1;
	}

	public void remover (String titulo) throws UsuarioNaoEncontradoException{
		int i = getIndice(titulo);
		usuarios[i] = usuarios[indice - 1];
		indice = indice - 1;
		usuarios[indice] = null;
	}

	public Usuario procurar(String titulo) throws UsuarioNaoEncontradoException{
		int i = getIndice(titulo);
		System.out.println("teste");
		return usuarios[i];
	}

	public void atualizar(Usuario usuario) throws UsuarioNaoEncontradoException{
		int i = getIndice(usuario.getNome());
		usuarios[i] = usuario;
	}


	
	private int getIndice(String nome) throws UsuarioNaoEncontradoException{
		int resposta = -1;
		boolean achou = false;
		for (int i = 0; !achou && (i < indice); i = i + 1){
			if (usuarios[i].getNome().equals(nome)){
				resposta = i;
				achou = true;
			}
		}
		if (!achou) throw new UsuarioNaoEncontradoException(nome);
		return resposta;
	}


}
